package main

import (
	"encoding/json"
	"fyne.io/fyne/v2/widget"
	"io/ioutil"
	"log"
	"os"
)

func SaveUserInfoJson(label *widget.Label,info *userInfo) {
	data, err := json.Marshal(info)
	if err != nil {
		log.Println(err)
		label.SetText("json 序列化失败")
	}
	err = ioutil.WriteFile("data.json", data, os.ModeAppend)
	if err != nil {
		log.Println(err)
		label.SetText("json 写入失败")
		return
	}
	label.SetText("json 写入成功")
}

func ReadUserInfoJson(label *widget.Label,data *userInfo) {
	// 读取JSON文件内容 返回字节切片
	bytes, err := ioutil.ReadFile("./data.json")
	if err != nil {
		log.Println(err)
		label.SetText("data.json 读取失败")
		return
	}
	log.Println("data.json content:")
	// 打印时需要转为字符串
	log.Println(string(bytes))
	// 将字节切片映射到指定结构上
	err = json.Unmarshal(bytes, &data)
	if err != nil {
		log.Println(err)
		label.SetText("data.json 反序列化失败")
		return
	}
	label.SetText("data.json 读取成功")
}